1. Field of the Invention
This invention concerns programs for interpreting on smart cards and to which others want to interface, and more particularly concerns distribution of such programs.
2. Related Art
To develop a program for running on a Java Card smart card, a developer uses a standard Java development environment. First the developer writes a set of source code files, from which is compiled a standard Java program, that is, a set of binary class files constituting a package. Then the developer runs a special program called a Java Card smart card converter that converts the package into a loading unit known as a converted applet file (“CAP”).
If a second developer wants to create an applet that uses services of the first developer's applet, the first developer provides the source code version of the first applet to the second developer. One issue with this development process concerns protection of the first developer's intellectual property. That is, secrecy of the first developer's source code is jeopardized by distributing it to secondary developers. Another issue with the process that is specific to executables for resource constrained devices such as Java Cards concerns size of the executables. Memory on a Java Card smart card is limited. Therefore executables for Java Cards smart cards must not only include the above described linking elements, but they also must be rather small.
Certain problems or limitations concerning distribution of, linking against or execution of the first developer's library or applets are addressed in the above cross-referenced, related application. However, a further need exists for improvements in distributing information about Java Card software developed by one party (the “originator” or “primary developer”) to others who want to develop related programs (“secondary developers”). In particular, there is a need for improvements in distributing information that permits secondary developers'programs to interface with the originator's program.